/*
 * Copyright 2006-2022 ahtelit.com, All Rights Reserved.
 */

package com.telit.firecommand.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * 考勤事项表
 *
 * @author yuezhuang
 * @since 2023-02-17
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "AttendNoteInfo", description = "考勤事项表")
public class AttendNoteInfo implements Serializable {

    private static final long serialVersionUID = -1L;

    @ApiModelProperty(value = "ID", required = true)
    private Long id;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间", required = true)
    private Date createdAt;

    @ApiModelProperty(value = "创建人", required = true)
    private Long createdBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间", required = true)
    private Date updatedAt;

    @ApiModelProperty(value = "修改人", required = true)
    private Long updatedBy;

    @ApiModelProperty(value = "逻辑删除标记", required = true, allowableValues = "true,false", hidden = true)
    private boolean deleted;

    @ApiModelProperty(value = "用户id")
    private Long userId;

    @ApiModelProperty(value = "行政区划编码")
    private String districtCode;

    @ApiModelProperty(value = "行政区划名称")
    private String districtName;

    @ApiModelProperty(value = "用户名称")
    private String userName;

    @ApiModelProperty(value = "用户手机号")
    private String mobile;

    @ApiModelProperty(value = "部门id")
    private Long deptId;

    @ApiModelProperty(value = "部门名称")
    private String deptName;

    @ApiModelProperty(value = "职务")
    private String duty;

    @ApiModelProperty(value = "班次id")
    private Long attendId;

    @ApiModelProperty(value = "类型：1-日报 2-值班记录 3-交班信息 4-事务 5-领导指示")
    private Integer type;

    @ApiModelProperty(value = "父id")
    private Long parentId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "提交时间时间")
    private Date submitAt;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "发生时间")
    private Date timeAt;

    @ApiModelProperty(value = "备注")
    private String remarks;


    @ApiModelProperty(value = "工作情况")
    private String workInfo;

    @ApiModelProperty(value = "调度情况")
    private String dispatchInfo;

    @ApiModelProperty(value = "火情反馈")
    private String fireFeedback;

    @ApiModelProperty(value = "综合分析")
    private String analyseInfo;

    @ApiModelProperty(value = "内容")
    private String description;

    @ApiModelProperty(value = "交班人id")
    private Long turnId;

    @ApiModelProperty(value = "交班人名称")
    private String turnName;

    @ApiModelProperty(value = "交班人手机号")
    private String turnMobile;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "地点")
    private String place;

    @ApiModelProperty(value = "经度")
    private String longitude;

    @ApiModelProperty(value = "纬度")
    private String latitude;

    @ApiModelProperty(value = "事件类型：1-突发事务 2-领导通知")
    private Integer eventType;

    @ApiModelProperty(value = "现场情况")
    private String siteSituation;

    @ApiModelProperty(value = "当前情况")
    private String currentSituation;

    @ApiModelProperty(value = "处置记录")
    private String disposal;

}
